package com.demo.service;

import com.demo.pojo.dto.ScheduleListDTO;
import com.demo.pojo.entity.Student;
import com.demo.pojo.entity.Teacher;

import java.util.List;
import java.util.Map;

/**
 * 教师用户服务接口
 */
public interface TeacherUserService {
    
    /**
     * 教师登录
     */
    Teacher teacherLogin(String teNo, String password);
    
    /**
     * 获取教师个人信息
     */
    Teacher getTeacherInfo(Long teacherId);
    
    /**
     * 更新教师个人信息
     */
    boolean updateTeacherInfo(Teacher teacher);
    
    /**
     * 获取教师课表
     */
    List<ScheduleListDTO> getTeacherSchedule(Long teacherId, String semester);
    
    /**
     * 获取教师本周课表
     */
    List<ScheduleListDTO> getTeacherWeekSchedule(Long teacherId, String semester, Integer weekNo);
    
    /**
     * 获取教师今日课表
     */
    List<ScheduleListDTO> getTeacherTodaySchedule(Long teacherId, String semester, Integer weekNo, Integer dayOfWeek);
    
    /**
     * 申请调课
     */
    boolean applyScheduleChange(Long scheduleId, String reason, Long newTimeSlotId, Long newClassroomId);
    
    /**
     * 获取教师工作量统计
     */
    Map<String, Object> getTeacherWorkloadStats(Long teacherId, String semester);
    
    /**
     * 获取教师时间偏好
     */
    Map<String, Object> getTeacherTimePreference(Long teacherId);
    
    /**
     * 设置教师时间偏好
     */
    boolean setTeacherTimePreference(Long teacherId, Map<String, Object> preferences);
    
    /**
     * 获取教师的学生列表
     */
    List<Map<String, Object>> getTeacherStudents(Long teacherId, String semester);
}
























